.bg {
  background-color: black;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

.snow {
  display: block;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
  animation: snows linear infinite;
  -webkit-animation: snows linear infinite;
}

.snow-foreground {
  background: url("../../assets/snow-small.png");
  animation-duration: 25s;
}

.snow-foreground.layered {
  transform: translate3d(0, -100%, 0);
  animation-delay: 12.5s;
}

.snow-middleground {
  background: url("../../assets/snow-medium.png");
  animation-duration: 20s;
}

.snow-middleground.layered {
  transform: translate3d(0, -100%, 0);
  animation-delay: 10s;
}
.snow-background {
  background: url("../../assets/snow-large.png");
  animation-duration: 15s;
}

.snow-background.layered {
  transform: translate3d(0, -100%, 0);
  animation-delay: 7.5s;
}

@keyframes snows {
  0% {
    transform: translate3d(0, -100%, 0);
    -webkit-transform: translate3d(0, -100%, 0);
    -moz-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    -o-transform: translate3d(0, -100%, 0);
  }
  100% {
    transform: translate3d(0, 100%, 0);
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    -o-transform: translate3d(0, 100%, 0);
  }
}
